
#include <iostream>

#include "Shared_ptr.hpp"

/**
 * 类模板的的实现和定义是不能分开的。有3种做法。
 *  1  hpp  实现定义放一起
 *  2  cc  hh   在 hh 末尾 inclue cc
 *  3  在 main 中 include  hh 和 cc
*/


struct Foo
{
    void method() {
        std::cout << "method" << std::endl;
    }
};

int main(){
    Shared_ptr<Foo> sp(new Foo);  
    Foo f(*sp);

    f.method();
    sp->method();

    return 0;
}
